package com.ty.web;

import com.ty.bean.Users;
import com.ty.service.UsersService;
import com.ty.service.impl.UsersServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * @author 田野
 */
@WebServlet(urlPatterns = "/power/user/addUser")
public class AddUsersServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 本来要设置编码的，有个过滤器处理了

        // 1、接收参数
        String loginName = req.getParameter("loginName");
        String password = req.getParameter("password");
        String realName = req.getParameter("realName");
        String sex = req.getParameter("sex");
        String email = req.getParameter("email");
        String address = req.getParameter("address");
        String phone = req.getParameter("phone");
        String cardId = req.getParameter("cardId");
        String desc = req.getParameter("desc");
        String roleId = req.getParameter("roleId");
        // 2、调用service方法
        UsersService service = new UsersServiceImpl();
        // 将属性封装成Users对象
        Users users = new Users();
        users.setLoginName(loginName);
        users.setPassword(password);
        users.setRealName(realName);
        users.setSex(Integer.parseInt(sex));
        users.setEmail(email);
        users.setAddress(address);
        users.setPhone(phone);
        users.setCardId(cardId);
        users.setDesc(desc);
        users.setRoleId(Integer.parseInt(roleId));

        int i = service.insertUser(users);
        resp.setContentType("text/html;charset=utf-8");
        PrintWriter writer = resp.getWriter();
        if (i>0){
            // 3、跳转页面到list.jsp
            /*writer.print("<script>alert('新增成功！！！！')；location.href='list.jsp'</script>");*/
            // 前端发送请求的方式，之前都是通过超链接或者是表单，而这里是通过js来发送请求，
            // 之后再跳转到list.jsp 因为在list.jsp 有 <c:forEach items="${stulist}" var="stu"> 而此时 stulist并没有存值，
            // 因此会报错，所以不能直接使用上面的代码中的直接跳转到list.jsp页面。
            writer.print("<script>alert('新增成功！！！！');location.href='/power/user/users?method=select'</script>");

        }else {
            // 同样的道理，这里也不能直接跳转到add.jsp页面，因为有 <c:forEach items="${glist}" var="g">
            // 而这个 glist 并没有存值
            /*writer.print("<script>alert('新增失败！！！！')；location.href='add.jsp'</script>");*/
            writer.print("<script>alert('新增失败！！！！');location.href='/power/user/getRoleList'</script>");
        }

        /**
         * 也就是无论是新增成还是失败，都会给后台发送一个请求
         * 处理这个请求之后再跳转到相应的页面
         */

    }
}
